home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / unix / xf86read.zip / CIRRUS.ME next >
Text File  |  1994-07-26  |  9KB  |  237 lines

  1.  
  2.         Information for Cirrus Chipset Users
  3.         ------------------------------------
  4.  
  5. A number of problems has been reported with the Cirrus driver in XFree86
  6. 2.0, and it is hoped that these are alleviated in XFree86 2.1. Some
  7. important issues are described here. Please take the time to read this.
  8.  
  9. Contents
  10.  
  11.     1. Supported chipsets
  12.     2. Overview of Xconfig options
  13.     3. Mode issues
  14.     4. Trouble shooting
  15.  
  16.  
  17. 1 - Supported chipsets
  18.  
  19. The following chipsets by Cirrus Logic are supported by this driver:
  20.  
  21. CL-GD5420    ISA SVGA chipset, 1Mbyte; maximum dot clock is 50 MHz.
  22.         Acceleration with extended write modes (used for scrolling
  23.         and solid filling in this driver). This chipset can *not*
  24.         support 1024x768 non-interlaced. The 50 MHz clock may or
  25.         may not work.
  26.  
  27. CL-GD5422    Enhanced version of the 5420 (32-bit internal memory
  28.         interface). Maximum dot clock is 80 MHz.
  29.  
  30. CL-GD6205/6215/6225/6235
  31.         Laptop chipsets more or less compatible with the 5420. The
  32.         only dot clock supported is 25 MHz.
  33.  
  34. CL-GD5424    Basically VLB version of the 5422, but resembles the
  35.         5426 in some respects.
  36.  
  37. CL-GD5426    Supports both ISA bus and VLB, and up to 2Mbyte of memory.
  38.         Has BitBLT engine for improved acceleration (BitBlt, image
  39.         transfer, text). Dot clock limit is 85 MHz.
  40.  
  41. CL-GD5428    Enhanced version of the 5426.
  42.  
  43. CL-GD543x    Next generation 'Alpine' family chip with 64-bit internal
  44.         memory interface. There is some limited support for this
  45.         chipset, but it is untested. It is hoped that it will be
  46.         usable with this driver (being largely compatible with
  47.         the 5426).
  48.  
  49. The CL-GD5429 will probably be compatible with the CL-GD5428.
  50.  
  51.  
  52. 2 - Xconfig options
  53.  
  54. The following options are of particular interest to the Cirrus driver. Each
  55. of them must be specified in the 'vga256' section of the Xconfig file.
  56.  
  57. Option "noaccel"
  58.  
  59.     This option will disable the use of any accelerated functions. This
  60.     is likely to help with some problems related to DRAM timing,
  61.     high dot clocks, and bugs in accelerated functions, at the cost
  62.     of performance (which will still be reasonable on VLB).
  63.  
  64. Option "fast_dram"    (5424, 5426, 5428)
  65. Option "slow_dram"    (5424, 5426, 5428)
  66.  
  67.     The "fast_dram" option will cause the driver to set the internal
  68.     memory clock (MCLK) register of the video card to a higher value.
  69.     Normally, this register is not touched but it appears that the
  70.     standard CL-GD542x BIOS initializes it to a value that is somewhat
  71.     on the low side, which has a profound negative influence on
  72.     performance, and on the    stability of high dot clock modes. The actual
  73.     speed of DRAM is not a critical factor in the determining whether
  74.     this option is appropriate; one card with 80ns DRAM, which came with
  75.     a DOS driver utility to set the MCLK to this value (0x22), seems to
  76.     run stable with a value of 0x26.
  77.  
  78.     There are also (mainly brand name) cards whose customized BIOS does
  79.     initialize to a proper (high-performance) value. In this case, the
  80.     use of this option is probably not appropriate.
  81.  
  82.     The "slow_dram"    option will set the MCLK to the value used by the
  83.     standard CL-GD542x BIOS (0x1c). Symptoms of a MCLK that is too high
  84.     can be vertical bands of flickering pixels on the screen, and
  85.     loosing pixels in the textmode font after running X (note that
  86.     very similar effects can be caused by an MCLK setting that is
  87.     too low).
  88.  
  89.     Upon start-up, the driver will report the value of the MCLK
  90.     register, and also any changes that are made.
  91.  
  92.     Typical MCLK values:
  93.  
  94.     0x1c    This is usually the BIOS default. Corresponds to 50 MHz.
  95.         It is forced by the "slow_dram" option.
  96.     0x22    Value that most cards seem to be able to handle, used by
  97.         the "fast_dram" option.
  98.     0x26    Highest value that seems to be stable on one card tested.
  99.         This is also the maximum value of the MCLK register
  100.         according to the CL-GD542x databook, however, in other
  101.         places the databook says that the parts are not specified
  102.         for a MCLK higher than 50 MHz.
  103.  
  104.     If you are not having any problems (performance or stability at
  105.     high dot clocks), it is best not to use the "fast_dram" option.
  106.  
  107. chipset "clgd5424"
  108.  
  109.     This option, when used with a 5426/28, will have the effect of
  110.     disabling the use of the BitBLT engine (which the 5424 does not
  111.     have), while retaining some acceleration. This will be useful for
  112.     problems related to the BitBLT engine.
  113.  
  114. videoram 1024
  115.  
  116.     This option will override the detected amount of video memory, and
  117.     pretend there is 1024K on the card. This is useful on cards with
  118.     2Mbyte of memory whose DRAM configuration is not compatible with
  119.     the way the driver enables the upper megabyte of memory.
  120.  
  121. Option "fifo_conservative"
  122.  
  123.     This option will set the CRT FIFO threshold to a conservative value
  124.     for high dot clocks (>= 65 MHz), reducing performance but hopefully
  125.     alleviating problems with 'streaks' on the screen (especially when
  126.     a BitBLT operation is in progress).
  127.  
  128. Option "fifo_aggressive"
  129.  
  130.     This option will set the CRT FIFO threshold to an aggressive value;
  131.     it will be the same as that used for lower dot clocks. It improves
  132.     performance at high dot clocks. It is probably appropriate on the
  133.     543x chips.
  134.  
  135. Option "no_2mb_banksel"
  136.  
  137.     This option will cause the driver not to set the 'DRAM bank select'
  138.     bit to enable the upper megabyte of memory on a 2Mbyte card. This
  139.     should be helpful with cards equipped with 512Kx8 DRAMs, as opposed
  140.     to 256Kx4/16 DRAMs, when using a virtual screen configuration that
  141.     uses more than 1Mbyte of memory.
  142.  
  143.  
  144. 3 - Mode issues
  145.  
  146. The accelerated driver uses 256 bytes of scratch space in video memory.
  147. Consequently, a 1024x1024 virtual resolution cannot be used with a 1Mbyte
  148. card. Recommended virtual resolutions are 800x600 on a 512K card,
  149. 1152x900 on a card equipped with 1Mbyte of video memory, and 1600x1200
  150. on a 2 Mbyte card (apart from problems described above).
  151.  
  152. The use of a higher dot clock frequencies has a profound negative effect on
  153. the performance of graphics operations, especially BitBlt. With default MCLK
  154. setting (0x1c), performance with a 65 MHz dot clock can be half of that with
  155. a dot clock of 25 MHz, and it becomes much worse with higher dot clocks. The
  156. "fast_dram" option helps a bit. For this reason, it is recommended that that
  157. lowest dot clock that is acceptable is used; for example, on a 14" or 15"
  158. screen 800x600 with high refresh (50 MHz dot clock) is not so bad, with a
  159. large virtual screen.
  160.  
  161. It does not make much sense to use the highest clock (85 MHz) for 1024x768
  162. at 76 Hz; the card will almost come to a standstill. A 75 MHz dot clock
  163. results in 70 Hz which should be acceptable. If you have a monitor that
  164. supports 1024x768 at 76 Hz with a 85 MHz dot clock, a standard 5426/5428
  165. based card is a very poor match anyway.
  166.  
  167. Any 543x-based cards (untested at the time of writing) should do much better
  168. at high dot clocks; the DRAM bandwidth is basically double that of the 542x
  169. series.
  170.  
  171.  
  172. 4 - Trouble shooting
  173.  
  174. First of all, make sure that the default mode selected from your Xconfig is
  175. supported by your monitor. Make sure you have commented out all modes/dot
  176. clock combinations that your monitor does not support. It is best to start
  177. with standard 640x480x256 with a 25 MHz clock to make sure the driver works
  178. on your configuration. The default mode used will always be the first mode
  179. listed in the modes line, with the highest dot clock listed for that
  180. resolution in the timing section.
  181.  
  182. There is a video signal, but the screen doesn't sync.
  183.  
  184.     You are using a mode that your monitor cannot handle. If it is
  185.     a non-standard mode, maybe you need to tweak the timings a bit. If
  186.     it is a standard mode and frequency that your monitor should be able
  187.     to handle, try to find different timings for a similar mode and
  188.     frequency combination.
  189.  
  190. Sparklies/streaks at high dot clocks.
  191.  
  192.     You can try the "fast_dram" option, or use a lower dot clock. If
  193.     it happens when moving something on the screen, try the
  194.     "fifo_conservative" option. If that is not sufficient, the "noaccel"
  195.     option or chipset "clgd5424" will probably help.
  196.  
  197. 'Wavy' screen, horizontal jitter.
  198.  
  199.     You are probably using a dot clock that is too high. Try a lower
  200.     dot clock. You can also try to tweak the mode timings; try
  201.     increasing the second horizontal value somewhat. Here's a 65 MHz
  202.     dot clock 1024x768 mode (about 60 Hz) that might help:
  203.  
  204.  "1024x768"     65      1024 1116 1228 1328     768  783  789  818
  205.  
  206. Crash or hang with after start-up (probably with a black screen).
  207.  
  208.     Try the "noaccel" option. If that works, try chipset "clgd5424" for
  209.     somewhat better performance.
  210.  
  211. Crash, hang, or trash on the screen after a graphics operation, or 'Blitter
  212. timeout' messages from the server.
  213.  
  214.     This may be related to a bug in one of the accelerated functions, or
  215.     a problem with the BitBLT engine. Try the "noaccel" option, or
  216.     chipset    "clgd5424".
  217.  
  218. Screen is 'wrapped' vertically.
  219.  
  220.     This indicates a DRAM configuration problem. If your card has two
  221.     megabytes of memory, try the "no_2mb_banksel" option, or use
  222.     videoram "1024" if you only use 1 Mbyte for the virtual screen.
  223.  
  224. Chipset is not detected.
  225.  
  226.     Try forcing the chipset with the nearest lower number. For example,
  227.     if you have a 5429 chip (not available at the time of writing), use
  228.     chipset    "clgd5428".
  229.  
  230.  
  231. If are having driver-related problems that are not addressed by this document,
  232. or if you have found bugs in accelerated functions, you can try contacting
  233. the XFree86 team, or post in the Usenet newsgroup "comp.windows.x.i386unix".
  234.  
  235.  
  236. $XFree86: mit/server/ddx/x386/etc/README.cirrus,v 2.4 1994/03/08 04:50:18 dawes Exp $
  237.